#include "PajaritoRojo.h"

using namespace TP::Juego::Arena::Actores;

PajaritoRojo::PajaritoRojo() : Pajarito(PAJARITOROJO) {
    this->setVida(vida_pajaro_rojo);
    setAlturaRebote(rebote_pajaro_rojo);
}

PajaritoRojo::PajaritoRojo(const string& pNombre) : Pajarito(pNombre) {
    this->setVida(vida_pajaro_rojo);
    setAlturaRebote(rebote_pajaro_rojo);
}

PajaritoRojo::~PajaritoRojo() {
}

double PajaritoRojo::getPoderAtaqueContraCerdito (){
    return danio_pajaro_rojo_cerdito;
}

double PajaritoRojo::getPoderAtaqueContraSuperficie (){
    return danio_pajaro_rojo_superficies;
}

TiXmlElement* PajaritoRojo::aElementoXML (){
    
    TiXmlElement * element = new TiXmlElement(PAJARITOROJO);

    element->SetAttribute("nombre", this->Nombre().c_str());
    element->SetDoubleAttribute("vida", this->getVida());
    element->SetDoubleAttribute("alturaRebote", this->_alturaRebote);
    element->LinkEndChild(this->getTrayectoria()->aElementoXML());
    
    return element;
}

void PajaritoRojo::deElementoXML (TiXmlElement* pElemento){
    double tmp;
    if (strcmp (pElemento->Value(), PAJARITOROJO) == 0)
    {
        this->setNombre(pElemento->Attribute("nombre"));
        pElemento->Attribute("vida", &tmp);
        this->setVida(tmp);
        pElemento->Attribute("alturaRebote", &_alturaRebote);
        Trayectoria* trayectoria = new Trayectoria ();
        trayectoria->deElementoXML (pElemento->FirstChildElement());
        this->setTrayectoria(trayectoria);
    }
}
